Налаштування кодеків - Довідка Light Alloy

# Налаштування кодеків

## Системні або вбудовані?

Light Alloy здатний працювати як з системними, так і зі вбудованими кодеками. З налаштуваннями за умовчанням програвач працює зі вбудованими кодеками, але підвантажує особливо настирливі зовнішні фільтри (наприклад, відповідно налагоджений FFDShow Video Codec). Це дозволяє використати додаткову обробку зображення можливостями цих зовнішніх фільтрів. Якщо користувач хоче, він може це змінити в Налаштування \ Кодеки (у розширеному режимі).

Досить усього лише зняти галки з тих позицій, які ви хочете обробляти системними засобами. Проте врахуйте, що завантаження внутрішніх кодеків відбувається швидше, оскільки програвач знає їх як свої п'ять пальців.

Є декілька способів ставити і знімати галки:

- по одній;
- по розділах (за допомогою галки у заголовків розділів)
- всі разом через контекстне меню

## Дерево фільтрів

Це вікно відображає усі фільтри, які використовуються для відтворення поточного файлу.

Ліворуч відображається деяка службова інформація про фільтр, виділений мишкою.

Справа наочно і красиво у вигляді сполучених плиток, власне, і відображено дерево фільтрів.

Зелена плитка - це сплітер. Він вичленяє з файлу окремі доріжки і передає їх кодекам (декодерам).

Блакитні плитки - це кодеки (декодери). Вони "розпаковують" доріжки для подальшого виводу на екран або для обробки фільтрами.

Фіолетові плитки - це додаткові фільтри, які застосовують до доріжок різноманітні ефекти. Наприклад, до звуку застосовується мікшування каналів (на кшталт 5.1 -> 2.0), до відео - яскравість/контрастність, до субтитрів - окантовка, тінь.

Червоні плитки - це пристрої виводу. Те, що на них подається і виводиться на колонки і дисплей.

Кольори плиток дуже умовні. Так кодек (декодер) може зображатися білою, а додатковий фільтр - блакитною плиткою.

Велика частина плиток в лівому верхньому кутку має емблему лупи. Це означає, що подвійне клацання по плитці відкриє вікно з налаштуваннями або статистикою фільтру.

## Швидка інформація по відео і аудіо потокам

Окрім дерева фільтрів інформацію роботи фільтрів можна отримати у вигляді особливих OSD-повідомлень, використовуючи клавіші "Q" і "Ctrl + Q".

### Системне OSD

"Q" показує / приховує коротку інформацію за типом і обробкою відеопотоку і поточного аудіопотоку.

### Статистика візуалізатора

"Ctrl + Q" показує / приховує статистику візуалізатора.

Статистика працює на таких візуалізаторах:

- VMR-9 RL;
- EVR CA;
- EVR Synс.

Наповнення статистики залежить від візуалізатора. Найповніша - на EVR CA.

#### Розшифровка значень статистики

Frame rate - виміряна частота кадрів відео, при цьому відображаються значення, виміряні двома методами, - статистичним (ліворуч) і на підставі зчитування даних з Pin декодера (справа). Для контенту ДВД, візуалізаторів EVR CA і EVR Sync використовуються свої методи.

- Avr - усереднена частота кадрів, розрахована по декількох останніх кадрах відео;
- Ref - базова частота кадрів, що зчитується з файлу відео;
- P чи I - прогресивне або черезстрочне відео, якщо повідомляється мікшером відео;
- FrameT - оціночний\розрахунковий час відображення одного кадру, яке розраховується на основі аналізу останніх декількох кадрів;
- FrameR - частота кадрів, розраховується на основі аналізу останніх декількох кадрів;
- Lock - відображається фіксація частоти кадрів до поширених частот кадрів відео, таких як: 60, 60/1.001, 50, 48, 48/1.001, 30, 30/1.001, 25, 24 и 24/1.001 Гц;
- StdDev - усереднена різниця часових проміжків відображення кадрів на основі декількох останніх;
- Clock - результат ділення часу відображення кадру і розрахованого часу кадру у відсотках грунтуючись на останньому кадрі.

Settings - показує використовувані опції рендерингу.

Formats - вказуються формати поверхонь, використовувані при рендерингу зображення, що виводиться.

- Surface - робочі поверхні усередині ланцюжка рендерингу, найчастіше використовуються X8R8G8B8, A2R10G10B10, A16B16G16R16F та A32B32G32R32F поверхні;
- Backbuffer - формат поверхні, що виводиться в ланцюжок свопу у кінці ланцюжка рендеринга, це або X8R8G8B8, або A2R10G10B10;
- Display - формат поверхні, що виводиться на дисплей з ланцюжка свопу, зазвичай це X8R8G8B8, але може бути і A2R10G10B10 в ексклюзивному режимі;
- Device - повинен відображатися як "D3DDevEx" для Windows Vista і новіших, "D3DDev" - для старіших ОС;
- D3DExError: - 0x00000000 означає, що не виникло помилок при утворенні D3DDevEx пристрою, для старіших ОС (XP і старших) повинен відображатися статус "No Ex Mode".

Refresh rate - визначена з функцій VSync частота оновлення екрану монітора.

- Scan lines - кількість ліній сканування, визначене під час робочого проходу VSync, і закруглена частота кадрів, узята з відомостей відеоадаптера;
- Last duration - тривалість останнього кадру;
- Corrected Frame Time - "Yes" чи "No", відображає, чи задіяна функція коригування невірних часових міток для відео VC - 1 в контейнерах транспортних потоків MPEG.

Sync offset - відображається мінімальна, максимальна, стандартна розбіжність і усереднений час зрушення, викликане VSync як протилежність постійному таймеру\генератору часу кадрів.

Jitter - відображається мінімальна, максимальна, стандартна розбіжність помилки таймерування у вигляді цифрових сигнальних циклів, використовуваних в ланцюжку рендеринга.

Subtitles - інформація, пов'язана з відображенням субтитрів поверх відео.

- Free - кількість вільних кадрів в ланцюжку;
- Allocated - кількість готових і очікуючих кадрів в ланцюжку;
- Buffered - кількість кадрів, скопійованих у відеоадаптер;
- Queue start - час в секундах до або після заповнення буфера субтитрів;
- Queue end - час в секундах до або після очищення буфера субтитрів.

VBlank Wait - тимчасова різниця між останньою лінією одного кадру і початком першої лінії наступного кадру.

- Start - лінія, з якою почався останній кадр;
- End - лінія, на якій закінчився останній кадр;
- Wait - час очікування вертикального інтервалу, що гасить;
- Lock - період блокування для можливості представлення під час вертикального інтервалу, що гасить;
- Offset - зрушення у вигляді кількості ліній з початку вертикального інтервалу, що гасить;
- Max - найбільше виміряне значення зрушення;
- End Present - лінія, на якій закінчилося представлення останнього кадру.

Present Wait - поточний, мінімальний і максимальний час очікування після закінчення обробки кадру і власне його представлення.

Paint Time - поточний, мінімальний і максимальний час на постановку в чергу усіх команд для завершення рендеринга кадру в черзі кадрів, передпредставленням цього кадру.

Raster Status - поточний, мінімальний і максимальний час очікування закінчення кадру.

Buffering - показує кількість семплів у буфері, очікуваних до відображення, і кількість в даний момент семплів, що відображаються.

- Buffered - кількість завершених кадрів у буфері кадрів мікшера.
- Free - кількість вільних кадрів у буфері кадрів мікшера.
- Current surface - кадр, який в даний момент рендерится з буфера.

Video size - показує розмір кадру відтворюваного відео і співвідношення сторін екрану (Aspect Ratio).

DXVA - показує покоління (DXVA1 \ DXVA2) задіяної апаратної акселерації і використовуваний апаратний декодер.

Render device - показує пристрій рендерингу, тобто марку вашого відеоадаптера.

DirectX SDK - показує номер DirectX SDK, використаний при компіляції Light Alloy.

Decoder - назва використовуваного декодера відео.

Mixer format - формат поверхні, що посилається до\від мікшера.

- Input - формат, що посилається мікшеру від декодера.
- Output - формат, що посилається в ланцюжок рендеринга від мікшера.

Графіки - це джиттер-криві (jitter curve), що показують часовий інтервал між моментами, коли кадр очікується до відображення, і коли реально відображається на екрані. Найдовша вісь, яку залежність перетинає, служить нулем відліку, маленькі короткі - 10 мс, а довші - 40 мс. Якщо крива знаходиться вище за цю довгу вісь, то синхронізація в порядку. По ньому добре орієнтуватися на плавність (smoothless) виведення картинки, тремтіння - досить, хоч би в ОС Windows XP, порівняти графіки у віконному режимі і в Direct3D режимі (як в іграх).